package com.hongdee.crm.taskConfig.service;

import java.util.List;
import java.util.Map;

/**
 * Created by My on 2017/3/6.
 */
public interface ITCrmTaskTypeService {
    /**
     * @param data
     * @return Map
     * @throws Exception
     * @desc   任务类型分配
     * @author 徐钦勇
     */
    public void saveOrUpdate(Map data,String uid) throws Exception;
    /**
     * @param id     主键
     * @param status 状态
     * @return Map
     * @throws Exception
     * @desc 启用停用
     * @author 徐钦勇
     */
    public void update(String id, String status) throws Exception;
    /**
     * @param
     * @return List
     * @throws Exception
     * @desc    角色下拉列表
     * @author 徐钦勇
     */
    public List<Map> comboRole(String uid) throws Exception;

    /**
     * 角色列表 增加分配任务类型
     * @param uid
     * @return
     * @throws Exception
     */
    public List<Map> comboRoleList(String uid) throws Exception;
    /**
     * @param
     * @return List
     * @throws Exception
     * @desc    任务类型下拉列表
     * @author 徐钦勇
     */
    public List<Map> comboTask(String companyId) throws Exception;
    /**
     * @param start 当前页面
     * @param limit 页面大小
     * @param companyId
     * @return Map
     * @throws Exception
     * @desc  分页查询
     * @author 徐钦勇
     */
    public Map page(String start, String limit ,String companyId ,String roleId) throws Exception;
    /**
     * @param oid 主键
     * @return Map
     * @throws Exception
     * @desc 任务类型分配详情
     * @author 徐钦勇
     */
    public List info (String oid,String id) throws Exception;


    /**
     * 获得查看权限下已选择的节点
     * @param companyId
     * @param roleId
     * @return
     * @throws Exception
     */
    public List<Object> checkedDefSee(String companyId,String roleId) throws Exception;

    /**
     * 获得处理权限下的已选择的节点 和其它角色已选择的节点
     * @param companyId
     * @param roleId
     * @return
     * @throws Exception
     */
    public List<Object> checkedDefCheck(String companyId,String roleId) throws Exception;
    public List<Map<String,List<Object>>> checkedDefRonly(String companyId,String roleId) throws Exception;
    /**
     * 保存已选择的节点信息
     * @param list
     * @param roleId
     * @param companyId
     * @param type
     * @throws Exception
     */
    public void saveTaskType(List<String> list,String roleId,String companyId,String type) throws Exception;

    public List tree(String roleId,String pCode,String companyId,String type) throws Exception;

    public List treeParam(String roleId,String pCode,String companyId,String type) throws Exception;


}
